/*
 * Copyright [2022] [https://www.xiaonuo.vip]
 *
 * Snowy采用APACHE LICENSE 2.0开源协议，您在使用过程中，需要注意以下几点：
 *
 * 1.请不要删除和修改根目录下的LICENSE文件。
 * 2.请不要删除和修改Snowy源码头部的版权声明。
 * 3.本项目代码可免费商业使用，商业使用请保留源码和相关描述文件的项目出处，作者声明等。
 * 4.分发源码时候，请注明软件出处 https://www.xiaonuo.vip
 * 5.不可二次分发开源参与同类竞品，如有想法可联系团队xiaonuobase@qq.com商议合作。
 * 6.若您的项目无法满足以上几点，需要更多功能代码，获取Snowy商业授权许可，请在官网购买授权，地址为 https://www.xiaonuo.vip
 */
package vip.xiaonuo.device.modular.entity;

import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import vip.xiaonuo.common.pojo.CommonEntity;

import java.math.BigDecimal;

/**
 * 物品实体
 *
 * @author 古月墨塵
 * @date  2022/11/18 13:44
 **/
@Getter
@Setter
@TableName("BIZ_GOODS")
@ApiModel(value="实体类-物品", description="实体类-物品")
public class BizGoods extends CommonEntity {

    /** ID */
    @TableId
    @ApiModelProperty(value = "ID", position = 1)
    private String id;

    @ApiModelProperty(value = "物品类型 0-常规 1-试剂", position = 2)
    private Integer goodsType = 0;

    /** 物品编号 */
    @ApiModelProperty(value = "物品编号", position = 2)
    private String goodsCode;

    /** 物品名称 */
    @ApiModelProperty(value = "物品名称", position = 3)
    private String goodsName;

    /** RFID标识 0-否 1-是 */
    @ApiModelProperty(value = "RFID标识 0-否 1-是", position = 4)
    private Integer rfidFlag;

    /** RFID号 */
    @ApiModelProperty(value = "RFID号", position = 5)
    private String rfidNum;

    /** 二维码标识 0-否 1-是 */
    @ApiModelProperty(value = "二维码标识 0-否 1-是", position = 6)
    private Integer qrcodeFlag;

    /** 条形码标识 0-否 1-是 */
    @ApiModelProperty(value = "条形码标识 0-否 1-是", position = 7)
    private Integer barcodeFlag;

    /** 资产编码 */
    @ApiModelProperty(value = "资产编码", position = 8)
    private String assetCode;

    /** 物品型号 */
    @ApiModelProperty(value = "物品型号", position = 9)
    private String goodsModel;

    /** 物品厂商 */
    @ApiModelProperty(value = "物品厂商", position = 10)
    private String goodsMfr;

    /** 组织ID */
    @ApiModelProperty(value = "组织ID", position = 11)
    private String orgId;

    /** 分类ID */
    @ApiModelProperty(value = "分类ID", position = 12)
    private String classId;

    /** 所属柜组ID */
    @ApiModelProperty(value = "所属柜组ID", position = 13)
    private String bioCabinetGroupId;

    /** 所属柜子ID */
    @ApiModelProperty(value = "所属柜子ID", position = 14)
    private String bioCabinetId;

    /** 所属柜门ID */
    @ApiModelProperty(value = "所属柜门ID", position = 15)
    private String bioCabinetDoorId;

    /** 当前柜组ID */
    @ApiModelProperty(value = "当前柜组ID", position = 16)
    private String curCabinetGroupId;

    /** 当前柜子ID */
    @ApiModelProperty(value = "当前柜子ID", position = 17)
    private String curCabinetId;

    /** 当前柜门ID */
    @ApiModelProperty(value = "当前柜门ID", position = 18)
    private String curCabinetDoorId;

    /** 存放一致 0-否 1-是 */
    @ApiModelProperty(value = "存放一致 0-否 1-是", position = 19)
    private Integer consistentStorage;

    /** 离柜标识 0-否 1-是 */
    @ApiModelProperty(value = "离柜标识 0-否 1-是", position = 20)
    private Integer leaveFlag;

    /** 最长离柜时限 */
    @ApiModelProperty(value = "最长离柜时限", position = 21)
    private Integer maxLimitLeave;

    /** 最长离柜时限单位 1-分钟 2-销售 3-天 */
    @ApiModelProperty(value = "最长离柜时限单位 1-分钟 2-小时 3-天", position = 22)
    private Integer maxLimitLeaveUnit;

    /** 到期前提示 */
    @ApiModelProperty(value = "到期前提示", position = 23)
    private Integer impendPrompt;

    /** 到期前提示单位 1-分钟 2-销售 3-天 */
    @ApiModelProperty(value = "到期前提示单位 1-分钟 2-小时 3-天", position = 24)
    private Integer impendPromptUnit;

    /** 预警间隔 */
    @ApiModelProperty(value = "预警间隔", position = 25)
    private Integer alertInterval;

    /** 预警间隔单位 1-分钟 2-销售 3-天 */
    @ApiModelProperty(value = "预警间隔单位 1-分钟 2-小时 3-天", position = 26)
    private Integer alertIntervalUnit;

    /** 预警最大次数 */
    @ApiModelProperty(value = "预警最大次数", position = 27)
    private Integer alertMaxNum;

    /** 物品图片 */
    @ApiModelProperty(value = "物品图片", position = 28)
    private String goodsImg;

    /** 物品描述 */
    @ApiModelProperty(value = "物品描述", position = 29)
    private String goodsDes;

    /** 注意事项 */
    @ApiModelProperty(value = "注意事项", position = 30)
    private String attention;

    @ApiModelProperty(value = "备注", position = 30)
    private String remarks;

    /** 未知标识 0-否 1-是 */
    @ApiModelProperty(value = "未知标识 0-否 1-是", position = 31)
    private Integer unknownFlag;

    @ApiModelProperty(value = "快捷码", position = 32)
    private String qrCode;

    @ApiModelProperty(value = "报废原因", position = 33)
    private String scrapReason;

    /** 状态 0-已报废 1-启用 2-维修中 */
    @ApiModelProperty(value = "状态 0-已报废 1-启用 2-维修中", position = 34)
    private Integer state;

    @ApiModelProperty(value = "入柜标识 0-否 1-是")
    private Integer enterFlag;

    /** 试剂品类ID */
    @ApiModelProperty(value = "试剂品类ID", position = 43)
    private String bizReagentClassId;

    /** CAS编码 */
    @ApiModelProperty(value = "CAS编码", position = 44)
    private String reagentCasNo;

    /** 初始净量 */
    @ApiModelProperty(value = "初始净量", position = 45)
    private BigDecimal reagentInitNetAmount;

    /** 试剂单位 0-毫升 1-克 */
    @ApiModelProperty(value = "试剂单位 0-毫升 1-克", position = 46)
    private String reagentUnit;

    /** 初始重量 */
    @ApiModelProperty(value = "初始重量", position = 47)
    private BigDecimal reagentInitWeight;

    /** 初始容量 */
    @ApiModelProperty(value = "初始容量", position = 48)
    private BigDecimal reagentInitVolume;

    /** 可用重量 */
    @ApiModelProperty(value = "可用重量", position = 49)
    private BigDecimal reagentAvlWeight;

    /** 可用容量 */
    @ApiModelProperty(value = "可用容量", position = 50)
    private BigDecimal reagentAvlVolume;

    /** 有效期 */
    @ApiModelProperty(value = "有效期", position = 51)
    private String reagentValidityPeriod;

    /** 试剂形态 */
    @ApiModelProperty(value = "试剂形态[对应REAGENT_FORM_TYPE类型字典的dictValue值]", position = 53)
    private String reagentFormId;

    /** 试剂类型 */
    @ApiModelProperty(value = "试剂类型[对应REAGENT_STORAGE_TYPE类型字典的dictValue值]", position = 54)
    private String reagentClassId;

    /** 试剂密度(单位:g/ml) */
    @ApiModelProperty(value = "试剂密度(单位:g/ml)", position = 55)
    private BigDecimal reagentDensity;

    /** 氧化还原类型 */
    @ApiModelProperty(value = "氧化还原类型[对应REAGENT_REDOX_TYPE类型字典的dictValue值]", position = 56)
    private String reagentRedoxClassId;

    /** 试剂瓶类型 */
    @ApiModelProperty(value = "试剂瓶类型[对应REAGENT_BOTTLE_TYPE类型字典的dictValue值]", position = 57)
    private String reagentBottleType;

    /** 购买者 */
    @ApiModelProperty(value = "购买者", position = 58)
    private String reagentBuyerName;

    /** 供应商 */
    @ApiModelProperty(value = "供应商", position = 59)
    private String reagentSupplier;

    /** 购买凭证 */
    @ApiModelProperty(value = "购买凭证", position = 60)
    private String reagentPurchaseVoucher;

    /** 取还是否需要称重 0-否 1-是 */
    @ApiModelProperty(value = "取还是否需要称重 0-否 1-是", position = 63)
    private String reagentWeighNeedFlag;

    /** 误差最大值(单位:g) */
    @ApiModelProperty(value = "误差最大值(单位:g)", position = 64)
    private BigDecimal reagentMaxErrorValue;
}
